Most organizations have a storage system that includes one or more disks or disk arrays for storing file systems for the organization, and one or more file servers which control accesses to the disks. For example, in a Storage Attached Network (SAN) system, external file servers communicate with one or more disk arrays using a Fibre Channel block protocol.
Network Attached Storage (NAS) systems provide an integrated file servers/disk array solution which may be accessed via a traditional Internet Protocol (IP) network, usually via a Local Area Network (LAN) such as the Ethernet. External hosts, also referred to as NAS clients, use file server protocols such as Common Internet File System (CIFS) and Network File System (NFS) to communicate with NAS systems. NAS systems typically comprise a ‘front end’ that includes one or more file servers and a ‘back end’ that includes multiple disk arrays to provide single site redundancy. Because NAS systems provide an integrated file server/disk array solution that may be easily attached to an existing IP network, storage capacity may easily be increased by adding additional NAS systems, or adding additional file server and/or disk array components to a NAS system as businesses grow.
Often the reliability of the NAS system is a key factor in the ability of the organizations to service customers. Thus it is critical that many organizations, such as financial institutions and the like include backup and recovery mechanisms that allow the NAS to quickly recover from faults and disasters and to continue operation without loss of client data. Business continuity is a goal of mirrored NAS systems.
Disaster Recovery (DR) is a term that refers to the ability to recover from the loss of a complete site, whether due to natural disaster or malicious intent. Disaster recovery strategies include replication of data and backup/restore procedures. For example, production file systems (i.e. file systems being manipulated by clients) and other disk components may be replicated or backed-up on disks of a secondary system that are geographically separate from a primary NAS. In the event of a disaster at the primary NAS, the copy of the production file system stored in secondary storage may be used to support client applications until the primary NAS is restored. In addition, data movement operations previously performed by failing devices of a primary NAS may be performed by mirrored backup devices in the secondary NAS. Providing mirrored systems in this manner allows business continuity to be achieved during disasters and other failures.
Constructing a NAS having capable of disaster support involves building a secondary NAS that has all the capabilities of the primary NAS and failing over components of the primary NAS to mirrored components of the secondary NAS as needed. For example, failing file servers of the primary NAS can be failed over to standby file servers in the secondary NAS, and accesses to failing storage devices can be failed over to mirrored storage devices. When building the mirrored system, network administrators at the primary and secondary storage locations each manually map components (including file servers and disk devices) of the primary NAS to equivalents in the secondary NAS to create a ‘mirror’ of the primary NAS. As the primary NAS is used, data from the disk devices are synchronously or asynchronously backed up to the secondary NAS. Each network administrator typically executes scripts at each station to initialize the NAS systems and to perform mappings between primary and secondary components. The scripts that are executed to establish and control mirror relationships are customized to the underlying architecture of the back end storage. As the NAS systems have evolved, the scripts have grown in length, becoming cumbersome and difficult to modify and maintain. In addition, because the scripts are customized to the particular NAS systems, new scripts must be generated to support the different types of NAS systems, each of which have their own particular back-end and/or physical components, architectures, characteristics, operating attributes and protocols. In addition, because the scripts are executed manually and independently by separate administrators at different locations, it is often difficult to verify the accuracy and thoroughness of the mirroring of the primary NAS. Often an error in mapping is not identified until a disaster occurs at the primary NAS, at which point it is too late to remedy the error.
It would be desirable to identify a method and apparatus that would allow mirroring of a primary NAS to be performed with accuracy. It would be desirable if the method and apparatus operated consistently, without regard to the type of underlying back-end storage devices so that a common procedure could be used to provide disaster recovery capabilities across a wide range of systems.